/**
 * Project of Vehicle Routing Problem with Time Windows implements 
 * some of well-known algorithms for solving VRPTW and presents new 
 * one.
 *
 * @author Michal Drobny  
 */

package util;

/**
 * Interface Cloneable represents a fact, that object implementing this
 * interface can be cloned. It means that there is a method which can clone the
 * specified object and returns identically same structure as the origin.
 * 
 * @author Michal Drobny
 * @date 4.12.2014
 *
 * @param <T>
 *            Generic type which represents type of object which implements this
 *            interface.
 */
public interface Cloneable<T> {

	/**
	 * Method for cloning. It means that this method returns a new structure,
	 * identically same as the origin.
	 * 
	 * @return A new structure, identically same as the origin
	 */
	T clone();
}